Various distinct networks exist over which a wireless device can communicate, such as a mobile telephony network (e.g., CDMA, GSM, etc.), a wireless local area network WLAN or WiFi network, a piconet (e.g., Bluetooth). Wireless devices that communicate over multiple such networks are termed herein as multiradio devices, indicative of the multiple radios that such a device incorporates so as to enable communication over multiple networks. For example, a WLAN access point may have a radio for communication with WLAN terminals; a Bluetooth radio to couple with a printer; and a wired or wireless (e.g., Bluetooth, infrared, another WLAN) connection to the Internet. Similarly, a mobile terminal/mobile station may have one GSM modem, a CDMA modem, a Bluetooth modem (e.g., with a headset), and a DVB-H modem. Any individual multiradio device may also have more than one radio for communicating over a single network, such as a mobile station having two GSM radios so as to avoid switching between an active Node B and another Node B in preparation for a handover. Each of these radios has a modem, and “modem” and “radio” will be used interchangeably hereinafter.
More particularly for the modems operating under control of different networks, there is a potential for modems to interfere with one another when transmitting or receiving simultaneously with other modems where the disparate networks use frequency ranges that overlap and each network schedules/authorizes the multiradio device to transmit/receive at an overlapping frequency at the same time. The result is wasted bandwidth due to data collisions from different modems of the same wireless device.
One fundamental difficulty in designing a multiradio device to avoid self-collision among its modems is the ability to interpret any modem's behavior regardless of the clock-domain it uses. Not only do the modems typically have their own hardware clocks with different frequencies as compared to other modems of the same device, but they are also synchronized with their corresponding peer devices (e.g., WLAN with access point, GSM with base station, Bluetooth with an ad hoc peer). As the mobile device is moved around, its modems' synchronization with the respective peer shifts and changes, thus offsetting their transmission instances. The result is that any difference between transmission grant start times on different networks is not constant. The term slot is used herein generically to represent an authorized transmission or reception window. While the term slot is specific to some radio protocols, its use herein does not imply limitation to only those radio protocols that use the term explicitly.
Another difficulty is the nondeterministic nature of delays caused by bus arbitration within the multiradio device. If all the timing-critical functions designed for multiradio control were to be placed in a central processor, the signaling between modems and that central processor becomes the volatile factor that may handicap the entire design concept. At best it makes a software design difficult and reduces its portability among different types of multiradio devices that operate on the same sets of networks, since the different types of multiradios would exhibit different bus arbitration. At worst it generates a substantial load on that central processor due to timer checks and resynchronization calculations caused by inaccurate time information.
The foregoing description of problems encountered in the prior art concerns the lack of synchronization between modems of a multiradio device that may cause data collisions between modems of the multiradio device even if the data being transmitted/received by the modems was not scheduled to be transmitted/received at the same time in absolute terms. Even assuming resolution of the synchronization problem, there is a more general problem encountered in the art—how to schedule communication operations of multiple modems in a multiradio device. The foregoing assumed that one skilled in the art is seeking to inhibit one communication operation from interfering with another communication operation. It is not always true, however that a first communication operation performed by a first modem would necessarily interfere with a second communication operation performed by a second modem. For example, the first modem may be transmitting in a first bandwidth, and the second modem may be receiving in a second bandwidth, meaning that there would be no data collision even if the transmission and reception operations performed respectively by the first and second modems occurred at the same time. Accordingly, a scheduling method that neglects this fact would needlessly waste resources as it seeks to prevent concurrent operations by multiple modems of a multiradio device.
Scheduling that ignores actual communication operations performed by modems of a multiradio device and focuses on specifications of the modems performing the communication operations may also result in needless waste of resources. For example, a first modem may be used to transmit a first signal at a first signal transmission power that may not interfere in actual practice with reception operations performed by a second modem with respect to a second signal. Scheduling methods that “assume” interference needlessly waste resources.
Nonetheless, there are many instances when first and second modems of a multiradio device will be called upon to perform concurrent operations that are not compatible such as, for example, seeking to transmit two different signals in the same frequency bandwidth at the same time. Even assuming proper synchronization, concurrent scheduling will result in a data collision.
Accordingly, those skilled in the art in addition to seeking methods and apparatus that can synchronize operations of modems also seek methods and apparatus that allocate resources when conflicts are encountered, while scheduling simultaneous use of resources when there are no actual conflicts between operations being performed concurrently.